package com.dao;

import com.bean.User;
import com.exception.idNumberException;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @Author: 柏竹
 * @Description: 用户业务接口
 * @Date_Created_in: 2021-05-28 11:01
 * @Modified_By: Sans
 * @Project: 快递e栈
 */
public interface BaseUserDao {
    
    /**
     * 查 库 全部用户(总数,新增)
     * @return {size:总数,day:新增}
     */
    Map<String,Integer> console();
    
    
    /**
     * 查 库 全部用户
     * @return {size:总数,day:新增}
     */
    List<User> findAll(boolean limit, int offset, int pageNumber);
    
    /**
     * 查 库 指定用户
     * @param type
     * @param data
     * @return 查询用户
     */
    List<User> findUser(String type , String data);
    
    /**
     * 用户 录入
     * @param user
     * @return 是否成功
     */
    boolean insert(User user) throws idNumberException;
    
    /**
     * 用户 修改
     * @param id
     * @param user
     * @return 是否成功
     */
    boolean update(int id,User user);
    
    /**
     * 用户 删除
     * @param id
     * @return 是否成功
     */
    boolean delete(int id);
    
    /**
     * 用户 登录账号
     * @param username 账号
     * @param password 密码
     * @return 是否成功
     */
    boolean login(String username , String password);
    
    /**
     * 用户 登录记录
     * @param username 账号
     * @param date 登录时间
     * @param ip 登录ip
     * @return 是否成功
     */
    Boolean login_log(String username , Date date , String ip);
    
    /**
     * 用户 退出、下线
     * @param id 标号
     * @return 是否成功
     */
    boolean logout(String id);
}
